package com.emm.yixun.common.app;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;

import com.emm.yixun.common.app.annotation.Constants;
import com.emm.yixun.common.app.annotation.TYWValid;
import com.emm.yixun.common.app.base.CommonReqDTO;
import com.emm.yixun.common.app.servletentity.CustomerFamilyListReq;
import com.emm.yixun.common.app.servletentity.DealCategoryListReq;
import com.emm.yixun.common.app.servletentity.ImageListReq;
import com.emm.yixun.common.app.servletentity.PaymentMethodListRes;

public class AddSignedReqDto extends CommonReqDTO implements Serializable{

	private static final long serialVersionUID = 1L;
	
	/**
	 *名称：认筹ID
	 *描述：
	 *	认筹ID
	**/
	@TYWValid(min=0,max=20)
	private String payDepositId;
	
	/**
	 *名称：认筹编号
	 *描述：
	 *	认筹编号,按照规则输入
	**/
	@TYWValid(min=0,max=200)
	private String payDepositCode;

	/**
	 *名称：认筹金
	 *描述：
	 *	认筹金
	**/
	@TYWValid(min=0,max=19)
	private String payDepositMoney;
	
	/**
	 *名称：认购ID
	 *描述：
	 *	认购ID
	**/
	@TYWValid(min=0,max=20)
	private String subscribeId;
	
	/**
	 *名称：认购编号
	 *描述：
	 *	认购编号
	**/
	@TYWValid(min=0,max=200)
	private String subscribeCode;
	
	/**
	 *名称：认购金额
	 *描述：
	 *	认购金额
	**/
	@TYWValid(min=0,max=19)
	private String subscribeAmount;

	/**
	 *名称：签约编号
	 *描述：
	 *	签约编号
	**/
	@TYWValid(min=0,max=200)
	private String signedCode;

	/**
	 *名称：签约房源
	 *描述：
	 *	签约房源
	**/
	@TYWValid(min=1,max=100)
	private String signedHouses;

	/**
	 *名称：计价面积
	 *描述：
	 *	计价面积
	**/
	@TYWValid(min=0,max=19)
	private String calculateArea;

	/**
	 *名称：折前单价
	 *描述：
	 *	折前单价
	**/
	@TYWValid(min=0,max=19)
	private String discountPrice;

	/**
	 *名称：折前总价
	 *描述：
	 *	折前总价
	**/
	@TYWValid(min=1,max=19)
	private String discountTotalPrice;

	/**
	 *名称：折扣金额
	 *描述：
	 *	折扣金额
	**/
	@TYWValid(min=0,max=19)
	private String discountAmount;

	/**
	 *名称：折扣比例
	 *描述：
	 *	折扣比例
	**/
	@TYWValid(min=0,max=19)
	private String discountRate;
	
	/**
	 *名称：是否折扣审批
	 *描述：
	 *	是否折扣审批：0 否；1 是
	**/
	@TYWValid(min=0,max=1)
	private String discountApproval;
	
	/**
	 *名称：优惠原因
	 *描述：
	 *	优惠原因
	**/
	@TYWValid(min=0,max=300)
	private String preferentialReasons;

	/**
	 *名称：折扣说明
	 *描述：
	 *	折扣说明
	**/
	@TYWValid(min=0,max=300)
	private String discountNote;

	/**
	 *名称：签约单价
	 *描述：
	 *	签约单价
	**/
	@TYWValid(min=0,max=19)
	private String contractPrice;

	/**
	 *名称：合同金额
	 *描述：
	 *	合同金额
	**/
	@TYWValid(regModel=Constants.AMOUNT,max=19)
	private String contractAmount;

	/**
	 *名称：付款方式
	 *描述：
	 *	付款方式：1、一次性付款；2、分期付款；3、商业按揭；4、公积金按揭；5、组合贷款
	**/
	@TYWValid(min=1,max=10)
	private String paymentMethod;

	private List<PaymentMethodListRes> paymentMethodList;
	
	/**
	 *名称：装修款付款方式
	 *描述：
	 *	付款方式：1、一次性付款；2、分期付款；3、商业按揭；
	**/
	@TYWValid(min=0,max=10)
	private String decorationPaymentMethod;
	
	/**
	 *名称：装修款付款方式
	 *描述：
	 *	付款方式：1、一次性付款；2、分期付款；3、商业按揭；
	**/
	@TYWValid(min=0,max=20)
	private BigDecimal decorationMoney;
	
	/**
	 * 装修款支付方式
	 */
	private List<PaymentMethodListRes> decorationPaymentMethodList;

	/**
	 *名称：成交类别
	 *描述：
	 *	成交类别：1、推荐成交；2、单独成交；3、共同成交
	**/
	@TYWValid(min=1,max=1)
	private String dealCategory;

	/**
	 *名称：经纪人
	 *描述：
	 *	经纪人
	**/
	@TYWValid(min=0,max=20)
	private String agentId;

	/**
	 *名称：签约日期
	 *描述：
	 *	签约日期格式：yyyy-MM-dd
	**/
	@TYWValid(min=1,max=19)
	private String signedDate;

	/**
	 *名称：备注
	 *描述：
	 *	备注
	**/
	@TYWValid(min=0,max=300)
	private String remark;

	/**
	 *名称：审核状态
	 *描述：
	 *	审核状态：0、待提交；1、待审核
	**/
	@TYWValid(min=1,max=1)
	private String auditStatus;

	/**
	 * 合同[图片列表]
	 */
	private List<ImageListReq> imageList;
	
	/**
	 * 客户家庭成员信息
	 */
	private List<CustomerFamilyListReq> customerFamilyList;
	
	private String customerName;//客户名称
	private String memberName;//客户名称
	private String documentType;//证件类型
	private String documentNumber;//证件号码
	private String mobile;//手机号码
	private String mailPost;//	邮寄地址
	private String postcode;//邮编
	private String customerId;//客户Id
	
	private List<DealCategoryListReq> dealCategoryList;//成交类别列表
	private String floorType;//方案类别（0 低价；1 折扣）
	private String discountAfterAmount;//折后金额
	
	private String referenceId;//推荐人Id
	private String referenceName;//推荐人名称
	private String referenceProportion;//推荐人比例

	public String getPayDepositId() {
		return payDepositId;
	}

	public void setPayDepositId(String payDepositId) {
		this.payDepositId = payDepositId;
	}

	public String getPayDepositCode() {
		return payDepositCode;
	}

	public void setPayDepositCode(String payDepositCode) {
		this.payDepositCode = payDepositCode;
	}

	public String getPayDepositMoney() {
		return payDepositMoney;
	}

	public void setPayDepositMoney(String payDepositMoney) {
		this.payDepositMoney = payDepositMoney;
	}

	public String getSubscribeId() {
		return subscribeId;
	}

	public void setSubscribeId(String subscribeId) {
		this.subscribeId = subscribeId;
	}

	public String getSubscribeCode() {
		return subscribeCode;
	}

	public void setSubscribeCode(String subscribeCode) {
		this.subscribeCode = subscribeCode;
	}

	public String getSubscribeAmount() {
		return subscribeAmount;
	}

	public void setSubscribeAmount(String subscribeAmount) {
		this.subscribeAmount = subscribeAmount;
	}

	public String getSignedCode() {
		return signedCode;
	}

	public void setSignedCode(String signedCode) {
		this.signedCode = signedCode;
	}

	public String getSignedHouses() {
		return signedHouses;
	}

	public void setSignedHouses(String signedHouses) {
		this.signedHouses = signedHouses;
	}

	public String getCalculateArea() {
		return calculateArea;
	}

	public void setCalculateArea(String calculateArea) {
		this.calculateArea = calculateArea;
	}

	public String getDiscountPrice() {
		return discountPrice;
	}

	public void setDiscountPrice(String discountPrice) {
		this.discountPrice = discountPrice;
	}

	public String getDiscountTotalPrice() {
		return discountTotalPrice;
	}

	public void setDiscountTotalPrice(String discountTotalPrice) {
		this.discountTotalPrice = discountTotalPrice;
	}

	public String getDiscountAmount() {
		return discountAmount;
	}

	public void setDiscountAmount(String discountAmount) {
		this.discountAmount = discountAmount;
	}

	public String getDiscountRate() {
		return discountRate;
	}

	public void setDiscountRate(String discountRate) {
		this.discountRate = discountRate;
	}

	public String getDiscountApproval() {
		return discountApproval;
	}

	public void setDiscountApproval(String discountApproval) {
		this.discountApproval = discountApproval;
	}

	public String getPreferentialReasons() {
		return preferentialReasons;
	}

	public void setPreferentialReasons(String preferentialReasons) {
		this.preferentialReasons = preferentialReasons;
	}

	public String getDiscountNote() {
		return discountNote;
	}

	public void setDiscountNote(String discountNote) {
		this.discountNote = discountNote;
	}

	public String getContractPrice() {
		return contractPrice;
	}

	public void setContractPrice(String contractPrice) {
		this.contractPrice = contractPrice;
	}

	public String getContractAmount() {
		return contractAmount;
	}

	public void setContractAmount(String contractAmount) {
		this.contractAmount = contractAmount;
	}

	public String getPaymentMethod() {
		return paymentMethod;
	}

	public void setPaymentMethod(String paymentMethod) {
		this.paymentMethod = paymentMethod;
	}

	public List<PaymentMethodListRes> getPaymentMethodList() {
		return paymentMethodList;
	}

	public void setPaymentMethodList(List<PaymentMethodListRes> paymentMethodList) {
		this.paymentMethodList = paymentMethodList;
	}

	public String getDecorationPaymentMethod() {
		return decorationPaymentMethod;
	}

	public void setDecorationPaymentMethod(String decorationPaymentMethod) {
		this.decorationPaymentMethod = decorationPaymentMethod;
	}

	public List<PaymentMethodListRes> getDecorationPaymentMethodList() {
		return decorationPaymentMethodList;
	}

	public void setDecorationPaymentMethodList(List<PaymentMethodListRes> decorationPaymentMethodList) {
		this.decorationPaymentMethodList = decorationPaymentMethodList;
	}

	public String getDealCategory() {
		return dealCategory;
	}

	public void setDealCategory(String dealCategory) {
		this.dealCategory = dealCategory;
	}

	public String getAgentId() {
		return agentId;
	}

	public void setAgentId(String agentId) {
		this.agentId = agentId;
	}

	public String getSignedDate() {
		return signedDate;
	}

	public void setSignedDate(String signedDate) {
		this.signedDate = signedDate;
	}

	public String getRemark() {
		return remark;
	}

	public void setRemark(String remark) {
		this.remark = remark;
	}

	public String getAuditStatus() {
		return auditStatus;
	}

	public void setAuditStatus(String auditStatus) {
		this.auditStatus = auditStatus;
	}

	public List<ImageListReq> getImageList() {
		return imageList;
	}

	public void setImageList(List<ImageListReq> imageList) {
		this.imageList = imageList;
	}

	public List<CustomerFamilyListReq> getCustomerFamilyList() {
		return customerFamilyList;
	}

	public void setCustomerFamilyList(List<CustomerFamilyListReq> customerFamilyList) {
		this.customerFamilyList = customerFamilyList;
	}

	public String getCustomerName() {
		return customerName;
	}

	public void setCustomerName(String customerName) {
		this.customerName = customerName;
	}

	public String getMemberName() {
		return memberName;
	}

	public void setMemberName(String memberName) {
		this.memberName = memberName;
	}

	public String getDocumentType() {
		return documentType;
	}

	public void setDocumentType(String documentType) {
		this.documentType = documentType;
	}

	public String getDocumentNumber() {
		return documentNumber;
	}

	public void setDocumentNumber(String documentNumber) {
		this.documentNumber = documentNumber;
	}

	public String getMobile() {
		return mobile;
	}

	public void setMobile(String mobile) {
		this.mobile = mobile;
	}

	public String getMailPost() {
		return mailPost;
	}

	public void setMailPost(String mailPost) {
		this.mailPost = mailPost;
	}

	public String getPostcode() {
		return postcode;
	}

	public void setPostcode(String postcode) {
		this.postcode = postcode;
	}

	public String getCustomerId() {
		return customerId;
	}

	public void setCustomerId(String customerId) {
		this.customerId = customerId;
	}

	public List<DealCategoryListReq> getDealCategoryList() {
		return dealCategoryList;
	}

	public void setDealCategoryList(List<DealCategoryListReq> dealCategoryList) {
		this.dealCategoryList = dealCategoryList;
	}

	public String getFloorType() {
		return floorType;
	}

	public void setFloorType(String floorType) {
		this.floorType = floorType;
	}

	public String getDiscountAfterAmount() {
		return discountAfterAmount;
	}

	public void setDiscountAfterAmount(String discountAfterAmount) {
		this.discountAfterAmount = discountAfterAmount;
	}

	public String getReferenceId() {
		return referenceId;
	}

	public void setReferenceId(String referenceId) {
		this.referenceId = referenceId;
	}

	public String getReferenceName() {
		return referenceName;
	}

	public void setReferenceName(String referenceName) {
		this.referenceName = referenceName;
	}

	public String getReferenceProportion() {
		return referenceProportion;
	}

	public void setReferenceProportion(String referenceProportion) {
		this.referenceProportion = referenceProportion;
	}

	public BigDecimal getDecorationMoney() {
		return decorationMoney;
	}

	public void setDecorationMoney(BigDecimal decorationMoney) {
		this.decorationMoney = decorationMoney;
	}

}
